/**
 *	The NeuroCoSA Toolkit
 *	Copyright (C) 2003-6 Stuart Meikle.
 *
 *	This is free software; you can redistribute it and/or
 *	modify it under the terms of the GNU Lesser General Public
 *	License as published by the Free Software Foundation; either
 *	version 2.1 of the License, or (at your option) any later version.
 *
 *	This library is distributed in the hope that it will be useful,
 *	but WITHOUT ANY WARRANTY; without even the implied warranty of
 *	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 *	Lesser General Public License for more details.
 *
 * @author	Stuart Meikle
 * @version	2006-halloween(mk2)
 * @license	LGPL
 */
package org.stumeikle.NeuroCoSA;
import java.io.*;
import java.util.*;
import org.stumeikle.NeuroCoSA.PubSub.InfoService;
import org.stumeikle.NeuroCoSA.PubSub.Publication;
import org.stumeikle.NeuroCoSA.PubSub.Subscriber;
import org.stumeikle.NeuroCoSA.NIS.*;

/** the information store at the brain level.
 *  describes lobes and update sequence
 *  contains the system clock. guess we can generify this later 
 */
public	class	BrainInfoService extends NeuroCoSAInfoService
{
    //static entries to the information service
    InfoString		iName;
    InfoLong		iTime;
    InfoLong		iNumCortexs;
    InfoLong		iCortexDepth;

    public BrainInfoService()
    {
	//initialise the static members and add to the info store
	iName = new InfoString("BrainName","brian"); //name of the value plus default value
	iTime = new InfoLong("BrainTime", 1);
	iNumCortexs = new InfoLong("NumberOfCortices", 0);
	iCortexDepth = new InfoLong("CortexDepth", 0);

	addPublication(iName);
	addPublication(iTime);
	addPublication(iNumCortexs);
	addPublication(iCortexDepth);

	//!!!!!!!!!!
	// add in things like total surprise, total boredom, total confusion
	// total confidence etc
    }
}
